1,392 research outputs found
Using the distribution of cells by dimension in a cylindrical algebraic decomposition
We investigate the distribution of cells by dimension in cylindrical
algebraic decompositions (CADs). We find that they follow a standard
distribution which seems largely independent of the underlying problem or CAD
algorithm used. Rather, the distribution is inherent to the cylindrical
structure and determined mostly by the number of variables.
This insight is then combined with an algorithm that produces only
full-dimensional cells to give an accurate method of predicting the number of
cells in a complete CAD. Since constructing only full-dimensional cells is
relatively inexpensive (involving no costly algebraic number calculations) this
leads to heuristics for helping with various questions of problem formulation
for CAD, such as choosing an optimal variable ordering. Our experiments
demonstrate that this approach can be highly effective.Comment: 8 page
Program Verification in the presence of complex numbers, functions with branch cuts etc
In considering the reliability of numerical programs, it is normal to "limit
our study to the semantics dealing with numerical precision" (Martel, 2005). On
the other hand, there is a great deal of work on the reliability of programs
that essentially ignores the numerics. The thesis of this paper is that there
is a class of problems that fall between these two, which could be described as
"does the low-level arithmetic implement the high-level mathematics". Many of
these problems arise because mathematics, particularly the mathematics of the
complex numbers, is more difficult than expected: for example the complex
function log is not continuous, writing down a program to compute an inverse
function is more complicated than just solving an equation, and many algebraic
simplification rules are not universally valid.
The good news is that these problems are theoretically capable of being
solved, and are practically close to being solved, but not yet solved, in
several real-world examples. However, there is still a long way to go before
implementations match the theoretical possibilities
A "Piano Movers" Problem Reformulated
It has long been known that cylindrical algebraic decompositions (CADs) can
in theory be used for robot motion planning. However, in practice even the
simplest examples can be too complicated to tackle. We consider in detail a
"Piano Mover's Problem" which considers moving an infinitesimally thin piano
(or ladder) through a right-angled corridor.
Producing a CAD for the original formulation of this problem is still
infeasible after 25 years of improvements in both CAD theory and computer
hardware. We review some alternative formulations in the literature which use
differing levels of geometric analysis before input to a CAD algorithm. Simpler
formulations allow CAD to easily address the question of the existence of a
path. We provide a new formulation for which both a CAD can be constructed and
from which an actual path could be determined if one exists, and analyse the
CADs produced using this approach for variations of the problem.
This emphasises the importance of the precise formulation of such problems
for CAD. We analyse the formulations and their CADs considering a variety of
heuristics and general criteria, leading to conclusions about tackling other
problems of this form.Comment: 8 pages. Copyright IEEE 201
Choosing a variable ordering for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
Cylindrical algebraic decomposition (CAD) is a key tool for solving problems
in real algebraic geometry and beyond. In recent years a new approach has been
developed, where regular chains technology is used to first build a
decomposition in complex space. We consider the latest variant of this which
builds the complex decomposition incrementally by polynomial and produces CADs
on whose cells a sequence of formulae are truth-invariant. Like all CAD
algorithms the user must provide a variable ordering which can have a profound
impact on the tractability of a problem. We evaluate existing heuristics to
help with the choice for this algorithm, suggest improvements and then derive a
new heuristic more closely aligned with the mechanics of the new algorithm
Cylindrical algebraic decomposition with equational constraints
Cylindrical Algebraic Decomposition (CAD) has long been one of the most
important algorithms within Symbolic Computation, as a tool to perform
quantifier elimination in first order logic over the reals. More recently it is
finding prominence in the Satisfiability Checking community as a tool to
identify satisfying solutions of problems in nonlinear real arithmetic.
The original algorithm produces decompositions according to the signs of
polynomials, when what is usually required is a decomposition according to the
truth of a formula containing those polynomials. One approach to achieve that
coarser (but hopefully cheaper) decomposition is to reduce the polynomials
identified in the CAD to reflect a logical structure which reduces the solution
space dimension: the presence of Equational Constraints (ECs).
This paper may act as a tutorial for the use of CAD with ECs: we describe all
necessary background and the current state of the art. In particular, we
present recent work on how McCallum's theory of reduced projection may be
leveraged to make further savings in the lifting phase: both to the polynomials
we lift with and the cells lifted over. We give a new complexity analysis to
demonstrate that the double exponent in the worst case complexity bound for CAD
reduces in line with the number of ECs. We show that the reduction can apply to
both the number of polynomials produced and their degree.Comment: Accepted into the Journal of Symbolic Computation. arXiv admin note:
text overlap with arXiv:1501.0446
Streaming Spectral Processing with Consumer-level Graphics Processing Units
This paper describes the implementation of a streaming spectral
processing system for realtime audio in a consumer-level onboard
GPU (Graphics Processing Unit) attached to an off-the-shelf
laptop computer. It explores the implementation of four processes:
standard phase vocoder analysis and synthesis, additive synthesis
and the sliding phase vocoder. These were developed under the
CUDA development environment as plugins for the Csound 6 audio
programming language. Following a detailed exposition of
the GPU code, results of performance tests are discussed for each
algorithm. They demonstrate that such a system is capable of realtime
audio, even under the restrictions imposed by a limited GPU
capability
Streaming Spectral Processing with Consumer-level Graphics Processing Units
This paper describes the implementation of a streaming spectral
processing system for realtime audio in a consumer-level onboard
GPU (Graphics Processing Unit) attached to an off-the-shelf
laptop computer. It explores the implementation of four processes:
standard phase vocoder analysis and synthesis, additive synthesis
and the sliding phase vocoder. These were developed under the
CUDA development environment as plugins for the Csound 6 audio
programming language. Following a detailed exposition of
the GPU code, results of performance tests are discussed for each
algorithm. They demonstrate that such a system is capable of realtime
audio, even under the restrictions imposed by a limited GPU
capability
- …